﻿'''
题目描述
输入N个互不相同的二维整数坐标，求这N个坐标可以构成的正方形数量。[内积为零的的两个向量垂直]
输入描述
第一行输入为N，N代表坐标数量，N为正整数。N <= 100
之后的 K 行输入为坐标x y以空格分隔，x，y为整数，-10<=x, y<=10
输出描述
输出可以构成的正方形数量。
示例1
输入
3
1 3
2 4
3 1
输出
0
说明
（3个点不足以构成正方形）
示例2
输入
4
0 0
1 2
3 1
2 -1
输出
1
'''

#读取输入

n = int(input())

points = []
for _ in range(n):
    points.append(list(map(int,input().split())))

if n < 4:
    print(0)
    exit()
#遍历所有坐标，计算对应的可构成正方形的坐标
count = 0
for i in range(n):
    x1,y1 = points[i][0],points[i][1]
    for j in range(i+1,n):
        x2,y2 = points[j][0],points[j][1]
        #计算x3,y3;x4,y4以及x5,y5,x6,y6
        x3,y3 = x1 - (y1 - y2),y1 + (x1 - x2)
        x4,y4 = x2 - (y1 - y2),y2 + (x1 - x2)
        #判断是否在给定列表中,即可否构成正方形
        if [x3,y3] in points and [x4,y4] in points:
            count += 1
        x5,y5 = x1 + (y1 - y2),y1 - (x1 - x2)
        x6,y6 = x2 + (y1 - y2),y2 - (x1 - x2)
        #判断是否在给定列表中,即可否构成正方形
        if [x5,y5] in points and [x6,y6] in points:
            count += 1
#统计正方形时，每个正方形会被计算四次（每个顶点都可能作为起始点），所以最终的正方形数量应该除以4
count //= 4
print(count)

